/**
 * 图片处理工具
 */

// 默认头像的静态资源路径
const DEFAULT_AVATAR_PATH = '/upload/default-avatar';

/**
 * 规范化头像URL，确保始终能返回有效的URL
 * @param {string} avatarUrl 原始头像URL
 * @returns {string} 处理后的头像URL
 */
export function normalizeAvatarUrl(avatarUrl) {
  // 如果没有头像或头像URL是无效值，使用默认头像
  if (!avatarUrl || avatarUrl === 'null' || avatarUrl === 'undefined') {
    return DEFAULT_AVATAR_PATH;
  }
  
  // 检查URL是否已经是完整URL
  if (avatarUrl.startsWith('http://') || avatarUrl.startsWith('https://')) {
    return avatarUrl;
  }
  
  // 检查URL是否已经包含域名和端口
  if (avatarUrl.startsWith('//')) {
    return window.location.protocol + avatarUrl;
  }
  
  // 检查URL是否以斜杠开头
  if (!avatarUrl.startsWith('/')) {
    avatarUrl = '/' + avatarUrl;
  }
  
  // 返回相对于当前域的URL
  return avatarUrl;
}

/**
 * 从URL获取实际的文件名
 * @param {string} url 文件URL
 * @returns {string} 文件名
 */
export function getFilenameFromUrl(url) {
  if (!url) return '';
  return url.substring(url.lastIndexOf('/') + 1);
}

/**
 * 获取默认头像URL
 * @returns {string} 默认头像URL
 */
export function getDefaultAvatarUrl() {
  return DEFAULT_AVATAR_PATH;
}

export default {
  normalizeAvatarUrl,
  getFilenameFromUrl,
  getDefaultAvatarUrl
}; 